home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / pbmplus / README < prev    next >
Text File  |  1994-08-01  |  16KB  |  353 lines

  1.  
  2.                     toolbox/public/pbmplus README
  3.  
  4.                   Extended Portable Bitmap Toolkit
  5.                       Distribution of 10dec91
  6.                    Previous distribution 30oct91
  7.  
  8.  
  9. PBMPLUS is a toolkit for converting various image formats to and from
  10. portable formats, and therefore to and from each other.  The idea is,
  11. if you want to convert among N image formats, you only need 2*N
  12. conversion filters, instead of the N^2 you would need if you wrote each
  13. one separately.
  14.  
  15. In addition to the converters, the package includes some simple tools
  16. for manipulating the portable formats.
  17.  
  18. The package is broken up into four parts.  First is PBM, for bitmaps (1
  19. bit per pixel).  Then there is PGM, for grayscale images.  Next is PPM,
  20. for full-color images.  Last, there is PNM, which does content-independent
  21. manipulations on any of the three internal formats, and also handles
  22. external formats that have multiple types.
  23.  
  24. The parts are upwards compatible: PGM reads both PGM and PBM files and
  25. writes PGM; PPM reads all three and writes PPM; and PNM reads all three
  26. and writes, usually, the same type as it read.  Whenever PNM makes an
  27. exception and "promotes" a file to a higher format, it lets you know.
  28.  
  29.  
  30. INSTALLATION
  31.  
  32.     Unpack the files.
  33.     Decide whether you want to use Imakefiles or Makefiles.  If you want
  34.       to use Makefiles:
  35.  
  36.     Edit the top-level Makefile, find each line with the string
  37.       "CONFIGURE", and follow the directions for setting configuration
  38.       options.
  39.     Likewise edit pbmplus.h.
  40.     If you are using gnu make, you have to edit *all* the Makefiles
  41.       and remove all the imake stuff at the ends, otherwise gnu make
  42.       will overwrite the Makefiles.
  43.     Make.
  44.     When you're happy that things compiled ok, make install.
  45.     
  46.     If you want to use Imakefiles:
  47.  
  48.     Edit Pbmplus.tmpl, find each line with the string "CONFIGURE",
  49.       and follow the directions for setting configuration options.
  50.     Likewise edit pbmplus.h.
  51.     Save the original Makefiles, in case you later want to switch back
  52.       to using them.
  53.     The usual X11 sequence of xmkmf, make Makefiles, make depend, then
  54.       make should work.
  55.     When you're happy that things compiled ok, make install and
  56.       make install.man.
  57.  
  58. After installing the manual pages, you may want to create the "whatis"
  59. file by doing a catman -w -M <directory>, or whatever the equivalent is
  60. on your system.
  61.  
  62.  
  63. SUPPORT
  64.  
  65. I've tested this stuff under SysV and BSD, on Sun 3's 4's and 386's and
  66. Sequents and Vaxen and HPs, with cc and gcc.  Nevertheless, I'm sure bugs
  67. remain, and portability to systems like Amigas and IBM compatibles is
  68. an interesting question.  Feedback is welcome; send bug reports,
  69. enhancements, etc. to this address:
  70.  
  71.     jef@well.sf.ca.us
  72.     apple!well!jef
  73.  
  74. When sending bug reports, always include the output from running any
  75. PBMPLUS program with the -version flag.  Also include the type of
  76. system you are on, what compiler you used, and whether you are using
  77. Makefiles or Imakefiles.  I try to respond to bug reports and enhancements
  78. promptly; say, within a week.
  79.  
  80. Also, if there is a new format or feature you would like to have added
  81. to the package, feel free to drop me a line.  If it's a format, include
  82. whatever documentation you have, and if possible a uuencoded sample.
  83. My response time will depend on how busy I am, and how easy the job
  84. looks.  If you need it right away, or it's a complicated job, you might
  85. consider paying me; lately, that's how a lot of work on the package has
  86. gotten done.
  87.  
  88. Finally, if you have access to Usenet, there's a newsgroup called
  89. alt.graphics.pixutils which is specifically for discussion of image
  90. conversion and editing packages such as PBMPLUS.  Posting stuff there
  91. is even better than mailing it to me, since it lets other people help
  92. out with the answers.
  93.  
  94.  
  95. HOW TO FIND THE RIGHT CONVERTER
  96.  
  97. Some people get confused by all the different names.  If you want to
  98. convert a pbm file to a Sun raster file, is it pbmtorast, pgmtorast,
  99. ppmtorast, or pnmtorast?  In this case some of the confusion might be
  100. because previous versions of the package did in fact have both
  101. pbmtorast and ppmtorast.  But mostly it's just too many different
  102. things to hold in your short term memory.  Fine, so don't even try to
  103. remember what's what.  That's what computers are for.  Unix, at least
  104. BSD Unix, has this great indexing feature on the "man" program.  You
  105. say "man -k <keyword>" and it gives you all the one-line descriptions
  106. with that keyword in them.  All the PBMPLUS man pages have nice useful
  107. one-line descriptions, that mention all the relevant keywords.  Try it,
  108. you'll like it.
  109.  
  110.  
  111. COPYRIGHTS
  112.  
  113. All the software in this package, whether by me or by a contributer,
  114. has a copyright similar to this one:
  115.  
  116.     Permission to use, copy, modify, and distribute this software and its
  117.     documentation for any purpose and without fee is hereby granted, provided
  118.     that the above copyright notice appear in all copies and that both that
  119.     copyright notice and this permission notice appear in supporting
  120.     documentation.  This software is provided "as is" without express or
  121.     implied warranty.
  122.  
  123. Many people get confused by this legalese, especially the part about
  124. "without fee".  Does this mean you can't charge for any product that
  125. uses PBMPLUS?  No.  All it means is that you don't have to pay me.
  126. You can do what you want with this software.  Build it into your
  127. package, steal code from it, whatever.  Just be sure to let people
  128. know where it came from.
  129.  
  130.  
  131. CONTENTS
  132.  
  133. Files in pbmplus.shar:
  134.  
  135.     README        this
  136.     CHANGES        list of changes between the various versions of PBM
  137.     TODO        list of things still to be done
  138.     FORMATS        list of the formats supported
  139.     OTHER.SYSTEMS    list of other free image-processing software
  140.     Makefile        guess
  141.     Imakefile        for X11-type installations
  142.     Imakefile.tiff    for X11-type installations
  143.     Pbmplus.tmpl    for X11-type installations
  144.     pbmplus.h        header file for PBM, PGM, PPM, and PNM
  145.  
  146.     compat.csh        csh script for compatibility with old versions
  147.     compat.ksh        ksh script for compatibility with old versions
  148.     magic        additions for /etc/magic to recognize some image formats
  149.  
  150. Files in pbm.shar?:
  151.  
  152.     Makefile        guess
  153.     Imakefile        for X11-type installations
  154.  
  155.     atktopbm.c        convert Andrew Toolkit raster object to portable bitmap
  156.     brushtopbm.c    convert Xerox doodle brushes to portable bitmap
  157.     cmuwmtopbm.c    convert CMU window manager format to portable bitmap
  158.     g3topbm.c        convert Group 3 FAX to portable bitmap
  159.     icontopbm.c        convert Sun icon to portable bitmap
  160.     gemtopbm.c        convert GEM .img format to portable bitmap
  161.     macptopbm.c        convert MacPaint to portable bitmap
  162.     mgrtopbm.c        convert MGR format to portable bitmap
  163.     pi3topbm.c        convert Atari Degas .pi3 to portable bitmap
  164.     xbmtopbm.c        convert X10 or X11 bitmap to portable bitmap
  165.     ybmtopbm.c        convert Bennet Yee "face" file into portable bitmap
  166.  
  167.     pbmto10x.c        convert portable bitmap to Gemini 10x printer graphics
  168.     pbmtoascii.c    convert portable bitmap to ASCII graphic form
  169.     pbmtoatk.c        convert portable bitmap to Andrew Toolkit raster object
  170.     pbmtobbnbg.c    convert portable bitmap to BBN BitGraph graphics
  171.     pbmtocmuwm.c    convert portable bitmap to CMU window manager format
  172.     pbmtoepson.c    convert portable bitmap to Epson printer graphics
  173.     pbmtog3.c        convert portable bitmap to Group 3 FAX
  174.     pbmtogem.c        convert portable bitmap into GEM .img file
  175.     pbmtogo.c        convert portable bitmap to GraphOn graphics
  176.     pbmtoicon.c        convert portable bitmap to Sun icon
  177.     pbmtolj.c        convert portable bitmap to HP LaserJet graphics
  178.     pbmtomacp.c        convert portable bitmap to MacPaint
  179.     pbmtomgr.c        convert portable bitmap to MGR format
  180.     pbmtopi3.c        convert portable bitmap to Atari Degas .pi3
  181.     pbmtoplot.c        convert portable bitmap into Unix plot(5) file
  182.     pbmtoptx.c        convert portable bitmap to Printronix graphics
  183.     pbmtoxbm.c        convert portable bitmap to X11 bitmap
  184.     pbmtox10bm.c    convert portable bitmap to X10 bitmap
  185.     pbmtoybm.c        convert portable bitmap into Bennet Yee "face" file
  186.     pbmtozinc.c        convert portable bitmap to Zinc Interface Library icon
  187.  
  188.     pbmlife.c        apply Conway's rules of Life to a portable bitmap
  189.     pbmmake.c        create a blank bitmap of a specified size
  190.     pbmmask.c        create a mask bitmap from a regular bitmap
  191.     pbmreduce.c        reduce a portable bitmap N times, using Floyd-Steinberg
  192.     pbmtext.c        render text into a bitmap
  193.     pbmupc.c        create a Universal Product Code bitmap
  194.  
  195.     libpbm[1-5].c    a few utility routines
  196.     pbmmerge.c        merge wrapper routine
  197.     pbm.h        header file for libpbm
  198.     pbmfont.h        header file for font routines in libpbm
  199.     libpbm.h        internal header file for libpbm
  200.     g3.h        definitions for Group 3 FAX
  201.     macp.h        definitions for MacPaint files
  202.     bitreverse.h    useful include file
  203.     *.1            manual entries for all of the tools
  204.     pbm.5        manual entry for the pbm format
  205.     libpbm.3        manual entry for the pbm library
  206.  
  207. Files in pgm.shar?:
  208.  
  209.     Makefile        guess
  210.     Imakefile        for X11-type installations
  211.  
  212.     fitstopgm.c        convert FITS format to portable graymap
  213.     fstopgm.c        convert Usenix FaceSaver(tm) format to portable graymap
  214.     hipstopgm.c        convert HIPS format to portable graymap
  215.     lispmtopgm.c    convert a Lisp Machine bitmap file into pgm format
  216.     psidtopgm.c        convert PostScript "image" data to portable graymap
  217.     rawtopgm.c        convert raw grayscale bytes to portable graymap
  218.  
  219.     pgmtofits.c        convert portable graymap to FITS format
  220.     pgmtofs.c        convert portable graymap to Usenix FaceSaver(tm) format
  221.     pgmtolispm.c    convert a portable graymap into Lisp Machine format
  222.     pgmtopbm.c        convert portable graymap to portable bitmap
  223.  
  224.     pgmbentley.c    Bentleyize a portable graymap
  225.     pgmcrater.c        create cratered terrain by fractal forgery
  226.     pgmedge.c        edge-detect a portable graymap
  227.     pgmenhance.c    edge-enhance a portable graymap
  228.     pgmhist.c        print a histogram of the values in a portable graymap
  229.     pgmnorm.c        normalize contrast in a portable graymap
  230.     pgmoil.c        turn a portable graymap into an oil painting
  231.     pgmramp.c        generate a grayscale ramp
  232.     pgmtexture.c    calculate textural features on a portable graymap
  233.  
  234.     libpgm[1-3].c    a few utility routines
  235.     pgmmerge.c        merge wrapper routine
  236.     pgm.h        header file for libpgm
  237.     libpgm.h        internal header file for libpgm
  238.     dithers.h        useful include file
  239.     *.1            manual entries for all of the tools
  240.     pgm.5        manual entry for the pgm format
  241.     libpgm.3        manual entry for the pgm library
  242.  
  243. Files in ppm.shar?:
  244.  
  245.     Makefile        guess
  246.     Imakefile        for X11-type installations
  247.  
  248.     giftoppm.c        convert GIF to portable pixmap
  249.     gouldtoppm.c    convert Gould scanner file to portable pixmap
  250.     ilbmtoppm.c        convert IFF ILBM to portable pixmap
  251.     imgtoppm.c        convert Img-whatnot to portable pixmap
  252.     mtvtoppm.c        convert MTV ray-tracer output to portable pixmap
  253.     pcxtoppm.c        convert PC Paintbrush format to portable pixmap
  254.     pgmtoppm.c        colorize a portable graymap into a portable pixmap
  255.     pi1toppm.c        convert Atari Degas .pi1 to portable pixmap
  256.     picttoppm.c        convert Macintosh PICT to portable pixmap
  257.     pjtoppm.c        convert HP PaintJet file to portable pixmap
  258.     qrttoppm.c        convert QRT ray-tracer output to portable pixmap
  259.     rawtoppm.c        convert raw RGB bytes to portable pixmap
  260.     rgb3toppm.c        combine three portable graymaps into one portable pixmap
  261.     sldtoppm.c        convert an AutoCAD slide file into a portable pixmap
  262.     spctoppm.c        convert Atari compressed Spectrum to portable pixmap
  263.     sputoppm.c        convert Atari uncompressed Spectrum to portable pixmap
  264.     tgatoppm.c        convert TrueVision Targa file to portable pixmap
  265.     ximtoppm.c        convert Xim to portable pixmap
  266.     xpmtoppm.c        convert XPM format to portable pixmap
  267.     yuvtoppm.c        convert Abekas YUV format to portable pixmap
  268.  
  269.     ppmtoacad.c        convert portable pixmap to AutoCAD database or slide
  270.     ppmtogif.c        convert portable pixmap to GIF
  271.     ppmtoicr.c        convert portable pixmap to NCSA ICR graphics
  272.     ppmtoilbm.c        convert portable pixmap to IFF ILBM
  273.     ppmtopcx.c        convert portable pixmap to PC Paintbrush format
  274.     ppmtopgm.c        convert portable pixmap to portable graymap
  275.     ppmtopi1.c        convert portable pixmap to Atari Degas .pi1
  276.     ppmtopict.c        convert portable pixmap to Macintosh PICT
  277.     ppmtopj.c        convert portable pixmap to HP PaintJet file
  278.     ppmtopuzz.c        convert portable pixmap to X11 "puzzle" file
  279.     ppmtorgb3.c        separate a portable pixmap into three portable graymaps
  280.     ppmtosixel.c    convert portable pixmap to DEC sixel format
  281.     ppmtotga.c        convert portable pixmap to TrueVision Targa file
  282.     ppmtouil.c        convert portable pixmap to Motif UIL icon file
  283.     ppmtoxpm.c        convert portable pixmap to XPM format
  284.     ppmtoyuv.c        convert portable pixmap to Abekas YUV format
  285.  
  286.     ppmdither.c        ordered dither for color images
  287.     ppmforge.c        fractal forgeries of clouds, planets, and starry skies
  288.     ppmhist.c        print a histogram of a portable pixmap
  289.     ppmmake.c        create a pixmap of a specified size and color
  290.     ppmpat.c        create a pretty pixmap
  291.     ppmquant.c        quantize colors down to a specified number
  292.     ppmquantall        script to run ppmquant on a set of pixmaps
  293.     ppmrelief.c        run a Laplacian Relief filter on a portable pixmap
  294.  
  295.     libppm[1-5].c    a few utility routines
  296.     ppmmerge.c        merge wrapper routine
  297.     ppm.h        header file for libppm
  298.     ppmcmap.h        header file for colormap routines in libppm
  299.     ppmdraw.h        header file for simple drawing routines in libppm
  300.     libppm.h        internal header file for libppm
  301.     autocad.h        definitions for AutoCAD files
  302.     tga.h        definitions for TrueVision Targa files
  303.     xim.h        definitions for Xim files
  304.     *.1            manual entries for all of the tools
  305.     ppm.5        manual entry for the ppm format
  306.     libppm.3        manual entry for the ppm library
  307.  
  308. Files in pnm.shar?:
  309.  
  310.     Makefile        guess
  311.     Imakefile        for X11-type installations
  312.  
  313.     anytopnm        script to attempt to convert any format to P?M
  314.     rasttopnm.c        convert Sun raster file to portable anymap
  315.     tifftopnm.c        convert TIFF file to portable anymap
  316.     xwdtopnm.c        convert X10 or X11 window dump to portable anymap
  317.  
  318.     pnmtops.c        convert portable anymap to PostScript
  319.     pnmtorast.c        convert portable anymap to Sun raster file
  320.     pnmtotiff.c        convert portable anymap to TIFF file
  321.     pnmtoxwd.c        convert portable anymap to X11 window dump
  322.  
  323.     pnmarith.c        perform arithmetic on two portable anymaps
  324.     pnmcat.c        concatenate portable anymaps
  325.     pnmconvol.c        general MxN convolution on a portable anymap
  326.     pnmcrop.c        crop all like-colored borders off a portable anymap
  327.     pnmcut.c        select a rectangular region from a portable anymap
  328.     pnmdepth.c        change the maxval in a portable anymap
  329.     pnmenlarge.c    enlarge a portable anymap N times
  330.     pnmfile.c        describe a portable anymap
  331.     pnmflip.c        perform one or more flip operations on a portable anymap
  332.     pnmgamma.c        perform gamma correction on a portable anymap
  333.     pnmindex        script to build a visual index of a bunch of anymaps
  334.     pnminvert.c        invert a portable anymap
  335.     pnmmargin        script to add a margin to a portable anymap
  336.     pnmnoraw.c        force a portable anymap into ASCII format
  337.     pnmpaste.c        paste a rectangle into a portable anymap
  338.     pnmrotate.c        rotate a portable anymap
  339.     pnmscale.c        scale a portable anymap
  340.     pnmshear.c        shear a portable anymap
  341.     pnmsmooth        script that uses pnmconvol to smooth a anymap
  342.     pnmtile.c        replicate a portable anymap into a specified size
  343.  
  344.     libpnm[1-4].c    a few utility routines
  345.     pnmmerge.c        merge wrapper routine
  346.     pnm.h        header file for libpnm
  347.     rast.h        definitions for Sun raster files
  348.     x10wd.h        definitions for X10 window dumps
  349.     x11wd.h        definitions for X11 window dumps
  350.     *.1            manual entries for all of the tools
  351.     pnm.5        manual entry for the pnm format
  352.     libpnm.3        manual entry for the pnm library
  353.